/*
 * 版权所有 (C) 2015 知启蒙(ZHIQIM) 保留所有权利。
 * 
 * 欢迎到知启蒙网站（https://www.zhiqim.com）购买正版软件，知启蒙还提供许多开源框架和软件。
 * 
 * 1、本软件产品所有源代码受《中华人民共和国著作权法》和其他有关法律、法规的保护，其所有知识产权归湖南知启蒙科技有限公司所有；
 * 2、禁止复制和修改。不得复制修改、翻译或改编本软件所有源代码，或者基于本软件产品创作衍生作品；
 * 3、禁止进行逆向工程。不得对本软件的源代码进行逆向工程、反编译或试图以其他方式发现软件的源代码；
 * 4、个别授权：如需进行商业性的销售、复制、分发，包括但不限于软件销售、预装、捆绑等，必须获得知启蒙的书面授权和许可；
 * 5、保留权利：本注释未明示授权的其他一切权利仍归知启蒙所有，任何人使用其他权利时必须获得知启蒙的书面同意。
*/
package net.redxyz.repost.manage.action.app;

import net.redxyz.top.dbo.sys.SysNavWeb;

import org.zhiqim.httpd.HttpRequest;
import org.zhiqim.httpd.context.extend.StdSwitchAction;
import org.zhiqim.kernel.paging.PageResult;
import org.zhiqim.orm.ORM;
import org.zhiqim.orm.dbo.Selector;

/**
 * 功能导航，目前只支持修改，增删通过数据库操作
 *
 * @version v7.0.1 @author zouzhigang 2021-7-29 新建与整理
 */
public class NavWebAction extends StdSwitchAction
{
    protected void validateId(HttpRequest request)
    {
    }

    protected void validateForm(HttpRequest request)
    {
    }

    protected void list(HttpRequest request) throws Exception
    {
        request.setResponsePrivateCache();
        int currentPage = request.getParameterInt("page", 1);
        int pageSize = 10;
        
        Selector selector = new Selector();
        selector.addOrderbyAsc("navLevel");
        selector.addOrderbyAsc("parentId");
        selector.addOrderbyAsc("navSeq");
        PageResult<SysNavWeb> pageResult = ORM.table().page(SysNavWeb.class, currentPage, pageSize, selector);
        
        request.setAttribute("pageResult", pageResult);

    }

    @Override
    protected void modify(HttpRequest request) throws Exception
    {
        String navId = request.getParameter("navId");
        SysNavWeb item = ORM.table().item(SysNavWeb.class, navId);
        if (item == null)
        {
            request.setAlertMsg("请选择一个正确的选择");
            request.returnHistory();
            return;
        }
    
        request.setAttribute("item", item);
    }

    protected void insert(HttpRequest request) throws Exception
    {
    }

    protected void update(HttpRequest request) throws Exception
    {
        String navId = request.getParameter("navId");
        SysNavWeb nav = ORM.table().item(SysNavWeb.class, navId);
        if(nav==null)
        {
            request.returnHistory("您要修改的信息不存在");
            return;
        }
        int navStatus = request.getParameterInt("navStatus");
        int navSeq = request.getParameterInt("navSeq");
        String navName = request.getParameterNoFilter("navName");
        String navCss = request.getParameter("navCss");
        int navPermission= request.getParameterInt("navPermission");
        nav.setNavCss(navCss);
        nav.setNavPermission(navPermission);
        nav.setNavStatus(navStatus);
        nav.setNavSeq(navSeq);
        nav.setNavName(navName);
        ORM.table().update(nav);
    }

    protected void delete(HttpRequest request) throws Exception
    {
    }

    @Override
    protected void add(HttpRequest arg0) throws Exception {
        // TODO Auto-generated method stub
        
    }
}
